home *** CD-ROM | disk | FTP | other *** search
/ Plug-In Power Pack for Netscape Communicator / Plug-In Power Pack for Netscape Communicator.iso / plugins / dataviews / dvtools / demos / citydemo / c4i_vars.h < prev    next >
C/C++ Source or Header  |  1997-05-08  |  6KB  |  210 lines

  1. /*------------------------------------------------------------------
  2. | file name -- vars.h
  3. |-----------------------------------------------------------------*/
  4.  
  5. /* REFERENCE the global variables for DISPLAY */
  6. extern CHAR         *DeviceName;
  7.  
  8. /* REFERENCE the global variables for the main DISPLAY */
  9. extern DRAWPORT     ActiveDrawport;
  10. extern DRAWPORT    CalculatingDp[];
  11. extern RECTANGLE    Pvp_screen[];        /* popup virtual coords. */
  12. extern RECTANGLE    Pvp_drawing[];        /*   "   world     "     */
  13. extern RECTANGLE    Pdd_scr_coords[];    /*   "   screen    "     */
  14.  
  15. /*for Zoom Management */
  16. extern RECTANGLE    PortSize[];
  17. extern RECTANGLE    MaxVp;
  18. extern INT        ZoomeD;        /* 0 = no zoom dp, 1 = zoom dp */
  19. extern DV_BOOL        ZoomToActive;    /* 0 = no zoom to, 1 = zoom to */
  20.  
  21. struct _ZOOM_INFO
  22. {
  23.   FLOAT        *hscroll, *vscroll;
  24.   DOUBLE    zscale;
  25.   DV_POINT        zcenter;
  26.   DRAWPORT    manipdp;
  27.   OBJECT    msgstr;
  28. };
  29.  
  30. extern struct _ZOOM_INFO    ZoomInfo;
  31.  
  32. #define   OF_ZOOMED_VIEW     1
  33. #define   OF_UNZOOMED_VIEW    0
  34. #define   ZOOM_FACTOR        1.5
  35. #define      MAX_ZOOM        11.0
  36. #define   MIN_ZOOM        0.08
  37. #define   YFUDGE_ll        3600
  38. #define   YFUDGE_ur        3600
  39.  
  40. /* names of important objects in zoom view */
  41. #define      AREA_FOR_ZOOM        "view.area"
  42. #define      HORIZ_SCROLLER    "y7::horz_scroll"
  43. #define      VERTICAL_SCROLLER    "y8::vert_scroll"
  44. #define      MSG_STRING        "MessageString"
  45.  
  46.  
  47. /* REFERENCE global variables for managing windows */
  48. #define NUM_WINDOWS    2            /* Main and Control. */
  49. extern INT         ActiveScreenIndex;
  50. extern OBJECT     DVscreen[];
  51. extern DRAWPORT    Drawport[];
  52.  
  53. extern CHAR         *WindowName[];
  54. extern DV_POINT     WindowSize[], WindowPos[];
  55.  
  56. extern SYMTABLE
  57.    DpTable,            /* table for Room DRAWPORT management */
  58.    ViewTable;            /* table for overlay VIEW management */
  59.  
  60. #define    VTABLE_LEN    10    /* Initial length of ViewTable. */
  61. #define    DPTABLE_LEN    25    /* Initial length of DPTable.   */
  62.  
  63. #define NUM_VU_PRELOAD    3    /* map and top,help, zoom views. */
  64.                 /*     and... */
  65. #define NUM_POPUP_DP    2    /* One for traffic trends, One for Civil  */
  66.                 /*     vehicles' occupants and id.       */
  67. #define POPUP_TX_STR    "P_CLASS"  /* id's the popup class in the view. */
  68.  
  69. #define NUM_OVERLAYS    4
  70.  
  71. typedef struct PRELOAD_VIEW
  72.   {
  73.   CHAR *name;            /* name of view */
  74.   DV_BOOL CreateStretch;        /* use TdpCreateStretch() to create? */
  75.   } PRELOAD_VIEW;
  76.  
  77. extern PRELOAD_VIEW
  78.   PreldView[];        /* Preloaded view files. */
  79.  
  80. extern CHAR 
  81.   *SamplePopupVu[];        /* Sample view for each Pop Up Dp. */
  82.  
  83. /* Define a structure that will keep track of display lists */
  84. typedef struct DISPLAY_LIST
  85.   {
  86.   DRAWPORT drawport;
  87.   DV_BOOL     overlays[NUM_OVERLAYS];
  88.   DRAWPORT PopupDp[NUM_POPUP_DP];
  89.   OBJECT   PopupLite[NUM_POPUP_DP];
  90.   FLOAT      *PopupDBuf[NUM_POPUP_DP];
  91.   INT      zoomed;
  92.   struct   DISPLAY_LIST *prev;
  93.   } DISPLAY_LIST;
  94.  
  95. extern DISPLAY_LIST *DisplayList;    /* Pointer to list of Displays */
  96.  
  97. /* REFERENCE global variables for CONTROL FLOW */
  98. extern DV_BOOL ApplicationState;    /* exit application or not? */
  99. extern DV_BOOL HelpNotActive;        /* NO, when help view is displayed.*/
  100.  
  101.  
  102. /* CONSTANTS */
  103. #define WAIT_VIEW     "intro.v"    /* view for preloading views */
  104. #define MAP_VIEW      "nhamp.v"
  105. #define HELP_VIEW    "bighelp.v"
  106. #define CONTROL_VIEW    "controls.v"    /* view button controls */
  107. #define ZOOM_VIEW    "dp_manip.v"    /* view of zoom template */
  108.  
  109. #define CALCULATING_DP_VIEW    "calcview.v"
  110.  
  111. #define DEFAULT_SIZE     (RECTANGLE*)NULL
  112. #define DEFAULT_PORTION (RECTANGLE*)NULL
  113.  
  114. /* Display Manager flags */
  115. #define RUNNING 1            /* active state of application */
  116. #define NOT_RUNNING 0            /* inactive state of application */
  117. #define RESET_DISPLAY  0        
  118. #define NEXT_DISPLAY   1
  119. #define PREV_DISPLAY   2
  120. #define NEXT_CONTROL   3            
  121.  
  122. /* The following four are used to identify overlays */
  123. /*    and their associated Popups.            */
  124. #define BUS_ROUTES    3
  125. #define    TRAFFIC        1
  126. #define    AT_WORK        2
  127. #define    CIVIL_PATROLS    0
  128.  
  129. /* control how Popups are redrawn. */
  130. #define    DRAW        YES
  131. #define    REDRAW        NO
  132.  
  133. /* Name of invisible objects that will not need redrawing. */
  134. #define    INVISIBLE    'I'
  135.  
  136. /* control view table */
  137. #define ADD        YES
  138. #define NO_ADD        NO
  139.  
  140. /* control window creation. */
  141. #define STRETCH        YES
  142. #define    NO_STRETCH    NO
  143.  
  144. /* Control overlay dsl characteristics. */
  145. #define DONT_MERGE_DSLs        0
  146. #define PLEASE_MERGE_DSLs    1
  147.  
  148.  
  149. /* Hot Spot Names */
  150. #define QUIT_COMMAND       'Q'
  151.  
  152. #define OVERLAY_COMMAND          'O'
  153. #define    MAIN_W_OLAY_TOGGLE     'v'
  154. #define REPLACE_OVERLAY_COM     'o'
  155. #define o_OVERLAY          '1'
  156. #define    o_DELETE          '2'
  157.  
  158. #define DELETE_COMMAND      'D'
  159.  
  160. #define    C4I_HELP_COMMAND      'h'
  161. #define START_HELP        '1'
  162. #define END_HELP        '2'
  163.  
  164. #define ZOOM_COMMAND      'Z'
  165. #define ZOOM_SUB_COMMAND  'z'
  166. #define ZOOM_SCROLLER_COM 'y'
  167.  
  168. #define ZOOM_IN        '1'
  169. #define ZOOM_OUT    '2'
  170. #define ZOOM_TO        '3'
  171. #define Z_PAN        '4'
  172. #define Z_RESET        '5'
  173. #define Z_QUIT        '6'
  174.  
  175. #define FLIP_COMMAND       'F'
  176.  
  177. #define REFRESH_MAIN    'r'
  178.  
  179. #define COMSIGN        ':'
  180.  
  181. /* Pick EVENT Types */
  182. #define HOT_SPOT_EVENT      'H'
  183. #define BUTTON_EVENT      'B'
  184. #define    Z_VSCROLLER_EVENT 'v'
  185. #define Z_HSCROLLER_EVENT 'h'
  186.  
  187. /* Window Types */
  188. #define MAIN_WINDOW      0
  189. #define CONTROL_WINDOW     1
  190.  
  191. /* MISC MACROs */
  192. #define STRINGS_ARE_EQUAL( str1, str2 ) strcmp( str1, str2 ) == 0
  193.  
  194. /* ERROR MESSAGE MACROs */
  195. #define EXIT_IF_INVALID( a, string ) if( !a ) \
  196.                                        { (VOID)printf(string); \
  197.                                          exit(EXIT_ERR);}
  198. #define EXIT2_IF_INVALID( a, s1, s2 ) if( !a ) \
  199.                                       { (VOID)printf("%s%s\n",s1, s2); \
  200.                                         exit(EXIT_ERR);}
  201.  
  202. #define RETURN_IF_INVALID( a, string ) if( !a ) \
  203.                                        { (VOID)printf(string); return a;}
  204. #define RETURN2_IF_INVALID(a, s1, s2 ) if (!a)  \
  205.                     {(VOID)printf( s1,s2);}
  206. #define NO_DEVICE "DataViews environment variable DVDEVICE must be defined.\n"
  207. #define NO_MAP_VIEW "Map View can't be loaded.\n"
  208. #define NO_CONTROL_VIEW "Control View can't be loaded.\n"
  209. #define UNKOWN_DRAWPORT "No view for specified object name.\n"
  210.